package com.aaa.tars.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * @FileName: OrderItem
 * @Description: 订单详情表（关联订单与门票）
 * @Author: ghz
 * @CreateTime:2025/9/20 16:56
 * @Version:1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderItem {
    // 订单详情ID（主键，自增）
    private Integer itemId;
    // 关联的订单ID（外键，对应t_sbsn_orderorder_id）
    private Integer orderId;
    // 关联的门票ID（外键，对应t sbsn_ticket.ticket_id）
    private Integer ticketId;
    // 购数量（至少1张）
    private Integer quantity;
    // 贐时单价（快照，用BigDecimal避免浮点精度问题）
    private BigDecimal unitPrice;
    
    // 可选：关联门票详情（用于返回前端时携带门票名称等信息）
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Ticket ticket;
    
    // 添加调试方法
    public String getScenicName() {
        if (this.ticket != null && this.ticket.getScenic() != null) {
            return this.ticket.getScenic().getScenicName();
        }
        return "未知景区";
    }
}